package com.gqz.equip.vo;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 能源-盘点任务
 */


@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "EnStockTaskVo", description = "能源-盘点任务 vo��ͼ����")
public class EnStockTaskVo implements Serializable {


    @SchemaProperty(name = "任务编号")
    private String taskNo;

    @SchemaProperty(name = "盘点对象编码")
    private String warehouseNo;

    @SchemaProperty(name = "盘点对象名称")
    private String warehouseName;

    @SchemaProperty(name = "任务名称")
    private String taskName;

    @SchemaProperty(name = "盘点对象类型编码")
    private String stockType;

    @SchemaProperty(name = "盘点对象类型名称")
    private String stockTypeName;

    @SchemaProperty(name = "单位编码")
    private String deptNo;

    @SchemaProperty(name = "单位名称")
    private String deptName;

    @SchemaProperty(name = "任务类型编码")
    private String taskTypeNo;

    @SchemaProperty(name = "计划开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "planStime", format = "yyyy-MM-dd HH:mm:ss")
    private Date planStime;

    @SchemaProperty(name = "计划结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "planEtime", format = "yyyy-MM-dd HH:mm:ss")
    private Date planEtime;

    @SchemaProperty(name = "周期")
    private String period;

    @SchemaProperty(name = "周期截止时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "periodEtime", format = "yyyy-MM-dd HH:mm:ss")
    private Date periodEtime;

    @SchemaProperty(name = "盘点人员编码")
    private String personNo;

    @SchemaProperty(name = "盘点人员名称")
    private String personName;

    @SchemaProperty(name = "详细描述")
    private String description;

    @SchemaProperty(name = "是否删除")
    private String isDel;

    @SchemaProperty(name = "创建人")
    private String creator;

    @SchemaProperty(name = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "createTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @SchemaProperty(name = "任务状态")
    private String taskStatus;

    @SchemaProperty(name = "派单人")
    private String sendPerson;

    @SchemaProperty(name = "派单时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "sendTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    @SchemaProperty(name = "派单人电话")
    private String sendTel;

    @SchemaProperty(name = "app结论")
    private String conclusion;

    @SchemaProperty(name = "任务类型名称")
    private String taskTypeName;

    @SchemaProperty(name = "任务状态名称")
    private String taskStatusName;

    @SchemaProperty(name = "id")
    private String id;

    @SchemaProperty(name = "是否周期产生的工单")
    private String isPeriod;

    @SchemaProperty(name = "周期工单的源工单")
    private String sourceTaskNo;

    @SchemaProperty(name = "工单运行状态")
    private String runStatus;

    @SchemaProperty(name = "工单运行状态名称")
    private String runStatusName;

    @SchemaProperty(name = "评价说明")
    private String appraiseContent;

    @SchemaProperty(name = "评价人")
    private String appraisePerson;

    @SchemaProperty(name = "评价时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "appraiseTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date appraiseTime;

    @SchemaProperty(name = "评价结论 1合格 2不合格")
    private String appraiseStatus;

    @SchemaProperty(name = "评价结论 合格 不合格")
    private String appraiseStatusName;

    @SchemaProperty(name = "盘点时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "stockTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date stockTime;

    @SchemaProperty(name = "app端任务运行状态（1代办2在办3退单4已办）")
    private String appRunStatus;

    @SchemaProperty(name = "接单人id")
    private String receiverId;

    @SchemaProperty(name = "接单人")
    private String receiver;

    @SchemaProperty(name = "接单时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "receivingTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date receivingTime;

    @SchemaProperty(name = "接单坐标")
    private String receivingCoordinate;

    @SchemaProperty(name = "app结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "appEndTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date appEndTime;

    @SchemaProperty(name = "结束坐标")
    private String endCoordinate;

    @SchemaProperty(name = "备注")
    private String remark;

    @SchemaProperty(name = "创建人Id")
    private String creatorBm;
}
